import {
  getSessionTabsValue
} from '@/utils/storage';
const initTabsValue = getSessionTabsValue() || [{
  title: '首页',
  path: '/home',
  name: 'Home'
}]
export default {
  state: () => ({
    tabsValue: initTabsValue,
  }),
  getters: {

  },
  mutations: {
    /**
     * 删除标签页
     * @param {*} state
     * @param {*} targetPath
     */
    REMOVE_TABS_VALUE(state, targetPath) {
      state.tabsValue = state.tabsValue.filter(item => item.path !== targetPath)
    },
    /**
     * 添加标签页，在路由跳转时组件触发
     * @param {*} state
     * @param {*} data
     */
    ADD_TABS_VALUE(state, data) {
      // 判断是否已经存在
      const isExist = state.tabsValue.some(item => item.path === data.path)
      // 如果不存在添加
      if (!isExist) {
        state.tabsValue.push(data)
      }
    },
    /**
     * 初始化数据，在注销时调用，不然切换用户后还是旧标签数据
     * @param {*} state
     */
    RESET_TABS_VALUE(state) {
      state.tabsValue = [{
        title: '首页',
        path: '/home',
        name: 'Home'
      }]
    }
  },
  actions: {

  }
}